public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect) { var ts = db.InvokeLoadTableStructure(objname.ObjectName, TableStructureMembers.ConstraintsNoRefs); var cs = ts.FindConstraint(objname.ObjectType, objname.SubName); DoGenerateSql(dmp, ts, cs); }
public ITableStructure LoadTable(FullDatabaseRelatedName tname) { if (tname.ObjectType == "table") { var dbmem = new DatabaseStructureMembers { TableMembers = TableStructureMembers.All, TableFilter = new List <NameWithSchema> { tname.ObjectName } }; var dbs = Connection.InvokeLoadStructure(null, dbmem, null); return(dbs.Tables[tname.ObjectName]); } if (tname.ObjectType == "view") { var dbmem = new DatabaseStructureMembers { ViewAsTables = true, ViewAsTableFilter = new List <NameWithSchema> { tname.ObjectName } }; var dbs = Connection.InvokeLoadStructure(null, dbmem, null); return(dbs.ViewAsTables[tname.ObjectName]); } throw new NotImplementedError("DAE-00370"); }
public override void RunCommand() { if (Template == null) { throw new CommandLineError("DAE-00153 Missing template argument"); } IDatabaseSource db = m_connection.GetConnection(); Async.SafeOpen(db.Connection); IAppObjectSqlGenerator sqlgen = (IAppObjectSqlGenerator)AppObjectSqlGeneratorAddonType.Instance.FindHolder(Template).CreateInstance(); ISqlDialect dial; if (Dialect != null) { dial = (ISqlDialect)DialectAddonType.Instance.FindHolder(Dialect).CreateInstance(); } else { dial = new GenericDialect(); } using (TextWriter fw = GetOutputStream()) { SqlOutputStream so = new SqlOutputStream(dial, fw, new SqlFormatProperties()); ISqlDumper dmp = dial.CreateDumper(so, new SqlFormatProperties()); var name = new FullDatabaseRelatedName { ObjectName = new NameWithSchema(Objschema, Objname), ObjectType = Objtype, SubName = Subname }; sqlgen.GenerateSql(db, name, dmp, dial); } Async.SafeClose(db.Connection); }
public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect) { IMigrationProfile profile = dialect.CreateMigrationProfile(); var tbl = new TableStructure(db.GetTable(objname.ObjectName).InvokeLoadStructure(TableStructureMembers.AllNoRefs)); dialect.MigrateTable(tbl, profile, null); InsertTemplate(tbl, dmp, dialect); }
public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect) { var ts = db.InvokeLoadViewStructure(objname.ObjectName); var tbl = new TableStructure(ts); tbl.FullName = objname.ObjectName; if (Prefix != null) { tbl.FullName = new NameWithSchema(tbl.FullName.Schema, Prefix + tbl.FullName.Name); } if (Postfix != null) { tbl.FullName = new NameWithSchema(tbl.FullName.Schema, tbl.FullName.Name + Postfix); } dmp.CreateTable(tbl); }
public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect) { FillAllTables(db, dmp, dialect); }
public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect) { GenerateFillTable(db.GetTable(objname.ObjectName), dmp, dialect); }
public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect) { CreateReferences(db, dmp, dialect); }
public virtual void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect) { }
public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect) { var ts = db.InvokeLoadTableStructure(objname.ObjectName, TableStructureMembers.Columns); DoGenerateSql(dmp, ts, objname.SubName); }
public override void GenerateSql(IDatabaseSource db, FullDatabaseRelatedName objname, ISqlDumper dmp, ISqlDialect dialect) { var so = db.InvokeLoadSpecificObjectDetail(objname.ObjectType, objname.ObjectName); DoGenerateSql(dmp, so); }
public void AddTable(FullDatabaseRelatedName tname) { AddTable(tname, null, null); }
public void AddTable(FullDatabaseRelatedName tname, QueryDesignTableFrame srctbl, IForeignKey join) { var ts = LoadTable(tname); AddTable(ts, srctbl, join, tname.ObjectType); }