Esempio n. 1
0
 protected override void Up(MigrationBuilder migrationBuilder)
 {
     if (ActiveProvider.EndsWith("Sqlite"))
     {
         migrationBuilder.Sql("ALTER TABLE DatabaseConnections ADD COLUMN SshServer TEXT;");
     }
     else
     {
         migrationBuilder.AddColumn <string>(
             table: "DatabaseConnections",
             name: "SshServer",
             nullable: true
             );
     }
 }
Esempio n. 2
0
        protected override void Down(MigrationBuilder migrationBuilder)
        {
            if (ActiveProvider.EndsWith("Sqlite"))
            {
                // Rename old table, create newer version, copy data and drop old table
                migrationBuilder.Sql(@"

PRAGMA foreign_keys=off;
 
ALTER TABLE DatabaseConnections RENAME TO temp_DatabaseConnections;
 
CREATE TABLE DatabaseConnections
(
  DatabaseConnectionID INTEGER NOT NULL
    CONSTRAINT PK_DatabaseConnections
    PRIMARY KEY
  AUTOINCREMENT,
  CreatedOn            TEXT    NOT NULL,
  DatabaseName         TEXT    NOT NULL,
  Description          TEXT,
  Name                 TEXT    NOT NULL,
  OrganisationId       INTEGER NOT NULL
    CONSTRAINT FK_DatabaseConnections_Organisations_OrganisationId
    REFERENCES Organisations
      ON DELETE CASCADE,
  Port                 INTEGER NOT NULL,
  Server               TEXT    NOT NULL,
  SshKeyFileID         INTEGER
    CONSTRAINT FK_DatabaseConnections_SshKeyFiles_SshKeyFileID
    REFERENCES SshKeyFiles
      ON DELETE RESTRICT,
  SshPort              INTEGER,
  SshUsername          TEXT,
  Type                 INTEGER NOT NULL,
  UseSsh               INTEGER NOT NULL,
  UseSshKey            INTEGER NOT NULL,
  Username             TEXT    NOT NULL
);
 
INSERT INTO DatabaseConnections (
    DatabaseConnectionID,
    CreatedOn,
    DatabaseName,
    Description,
    Name,
    OrganisationId,
    Port,
    Server,
    SshKeyFileID,
    SshPort,
    SshUsername,
    Type,
    UseSsh,
    UseSshKey,
    Username
  )
  SELECT
    DatabaseConnectionID,
    CreatedOn,
    DatabaseName,
    Description,
    Name,
    OrganisationId,
    Port,
    Server,
    SshKeyFileID,
    SshPort,
    SshUsername,
    Type,
    UseSsh,
    UseSshKey,
    Username
  FROM temp_DatabaseConnections;
 
DROP TABLE temp_DatabaseConnections;
 
PRAGMA foreign_keys=on;
                
                ");
            }
            else
            {
                migrationBuilder.DropColumn(
                    name: "SshServer",
                    table: "DatabaseConnections");
            }
        }