public override void CreateDatabase(IDbCodeConnection connection, string databaseName, string owner) { using (var cmd = connection.CreateCommand()) { var context = new ElementCode(); context.Add(SqlKeyword.CreateDatabase); context.Concat(Quote(databaseName)); context.Add(SqlKeyword.Owner); context.Concat(Quote(owner)); context.Go(); context.Build().Execute(cmd); } }
public override void CreateRole(IDbCodeConnection connection, string roleName, string password) { using (var cmd = connection.CreateCommand()) { var context = new ElementCode(); context.Add(SqlKeyword.CreateRole); context.Concat(Quote(roleName)); context.Add(SqlKeyword.Password); context.Concat(string.Concat("'", password, "'")); context.Concat("LOGIN"); context.Go(); context.Build().Execute(cmd); } }
public override IDatabaseDef ReadDatabaseDef(IDbCodeConnection connection) { return(new PgDatabaseDef(connection.Core as NpgsqlConnection)); }
/// <summary> /// 指定のコネクションで接続中のデータベース情報の取得、データベースから実際に定義を読み込む /// </summary> /// <param name="connection">コネクション</param> /// <returns>データベース定義</returns> public abstract IDatabaseDef ReadDatabaseDef(IDbCodeConnection connection);
/// <summary> /// データベースの作成 /// </summary> /// <param name="connection">コネクション</param> /// <param name="databaseName">データベース名</param> /// <param name="owner">データベースの所有者ロール名</param> public abstract void CreateDatabase(IDbCodeConnection connection, string databaseName, string owner);
/// <summary> /// ログインロールの作成 /// </summary> /// <param name="connection">コネクション</param> /// <param name="roleName">ロール名</param> /// <param name="password">パスワード</param> public abstract void CreateRole(IDbCodeConnection connection, string roleName, string password);