diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-07-10 15:08:58 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-07-10 15:08:58 +0300 |
commit | 215001eca7ababe4c617a04a37d307a97353d6e0 (patch) | |
tree | 50c65a921667c43d58f09cd1e900d4854285adcc /gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb | |
parent | 4a6c33b8a49bea08205a77d53d4425b9c23845b4 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb')
-rw-r--r-- | gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb b/gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb new file mode 100644 index 00000000000..8b4d07d2e79 --- /dev/null +++ b/gems/gitlab-schema-validation/lib/gitlab/schema/validation/adapters/column_database_adapter.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +module Gitlab + module Schema + module Validation + module Adapters + class ColumnDatabaseAdapter + def initialize(query_result) + @query_result = query_result + end + + def name + @name ||= query_result['column_name'] + end + + def table_name + query_result['table_name'] + end + + def data_type + query_result['data_type'] + end + + def default + return unless query_result['column_default'] + + return if name == 'id' || query_result['column_default'].include?('nextval') + + "DEFAULT #{query_result['column_default']}" + end + + def nullable + 'NOT NULL' if query_result['not_null'] + end + + def partition_key? + query_result['partition_key'] + end + + private + + attr_reader :query_result + end + end + end + end +end |