public void Add(Database database, string tableName) { if (database is null) { throw new ArgumentNullException(nameof(database)); } if (tableName is null) { throw new ArgumentNullException(nameof(tableName)); } if (!_tableValidator.IsValidName(tableName: tableName)) { throw new ArgumentException($"Invalid table name {tableName}."); } if (!_tableValidator.IsUniqueName(database: database, tableName: tableName)) { throw new ArgumentException($"The table {tableName} is already exists in the database {database.Name}."); } Table table = new Table(name: tableName) { DatabaseId = database.Id }; _tableRepository.Add(entity: table); _attributeService.AddPrimaryKey(table: table, primaryKeyName: "Id"); }
public void RenameTable(Table table, string tableName) { if (table is null) { throw new ArgumentNullException(nameof(table)); } if (tableName is null) { throw new ArgumentNullException(nameof(tableName)); } if (table.Name == tableName) { return; } if (!_tableValidator.IsValidName(tableName: tableName)) { throw new ArgumentException($"Invalid table name {tableName}."); } Database database = _databaseService.GetById(id: table.DatabaseId); if (database is null) { throw new ArgumentException($"The table {table.Name} does not belog to any database."); } if (!_tableValidator.IsUniqueName(database: database, tableName: tableName)) { throw new ArgumentException($"The table {tableName} is already exists in the database {database.Name}."); } if (_deployService.IsDeployed(database: database)) { _deployService.RenameDeployedTable(table: table, validNewTableName: tableName); } _tableService.Rename(table: table, name: tableName); }