|
|
|
@@ -1,81 +1,81 @@ |
|
|
|
# == Schema Information |
|
|
|
# |
|
|
|
# Table name: projects |
|
|
|
# |
|
|
|
# id :integer not null, primary key |
|
|
|
# name :string(255) default(""), not null |
|
|
|
# description :text(4294967295) |
|
|
|
# homepage :string(255) default("") |
|
|
|
# is_public :boolean default("1"), not null |
|
|
|
# parent_id :integer |
|
|
|
# created_on :datetime |
|
|
|
# updated_on :datetime |
|
|
|
# identifier :string(255) |
|
|
|
# status :integer default("1"), not null |
|
|
|
# lft :integer |
|
|
|
# rgt :integer |
|
|
|
# inherit_members :boolean default("0"), not null |
|
|
|
# project_type :integer default("0") |
|
|
|
# hidden_repo :boolean default("0"), not null |
|
|
|
# attachmenttype :integer default("1") |
|
|
|
# user_id :integer |
|
|
|
# dts_test :integer default("0") |
|
|
|
# enterprise_name :string(255) |
|
|
|
# organization_id :integer |
|
|
|
# project_new_type :integer |
|
|
|
# gpid :integer |
|
|
|
# forked_from_project_id :integer |
|
|
|
# forked_count :integer default("0") |
|
|
|
# publish_resource :integer default("0") |
|
|
|
# visits :integer default("0") |
|
|
|
# hot :integer default("0") |
|
|
|
# invite_code :string(255) |
|
|
|
# qrcode :string(255) |
|
|
|
# qrcode_expiretime :integer default("0") |
|
|
|
# script :text(65535) |
|
|
|
# training_status :integer default("0") |
|
|
|
# rep_identifier :string(255) |
|
|
|
# project_category_id :integer |
|
|
|
# project_language_id :integer |
|
|
|
# license_id :integer |
|
|
|
# ignore_id :integer |
|
|
|
# praises_count :integer default("0") |
|
|
|
# watchers_count :integer default("0") |
|
|
|
# issues_count :integer default("0") |
|
|
|
# pull_requests_count :integer default("0") |
|
|
|
# language :string(255) |
|
|
|
# versions_count :integer default("0") |
|
|
|
# issue_tags_count :integer default("0") |
|
|
|
# closed_issues_count :integer default("0") |
|
|
|
# open_devops :boolean default("0") |
|
|
|
# gitea_webhook_id :integer |
|
|
|
# open_devops_count :integer default("0") |
|
|
|
# recommend :boolean default("0") |
|
|
|
# platform :integer default("0") |
|
|
|
# default_branch :string(255) default("master") |
|
|
|
# website :string(255) |
|
|
|
# order_index :integer default("0") |
|
|
|
# lesson_url :string(255) |
|
|
|
# |
|
|
|
# Indexes |
|
|
|
# |
|
|
|
# index_projects_on_forked_from_project_id (forked_from_project_id) |
|
|
|
# index_projects_on_identifier (identifier) |
|
|
|
# index_projects_on_invite_code (invite_code) |
|
|
|
# index_projects_on_is_public (is_public) |
|
|
|
# index_projects_on_lft (lft) |
|
|
|
# index_projects_on_license_id (license_id) |
|
|
|
# index_projects_on_name (name) |
|
|
|
# index_projects_on_platform (platform) |
|
|
|
# index_projects_on_project_category_id (project_category_id) |
|
|
|
# index_projects_on_project_language_id (project_language_id) |
|
|
|
# index_projects_on_project_type (project_type) |
|
|
|
# index_projects_on_recommend (recommend) |
|
|
|
# index_projects_on_rgt (rgt) |
|
|
|
# index_projects_on_status (status) |
|
|
|
# index_projects_on_updated_on (updated_on) |
|
|
|
# |
|
|
|
|
|
|
|
# == Schema Information
|
|
|
|
#
|
|
|
|
# Table name: projects
|
|
|
|
#
|
|
|
|
# id :integer not null, primary key
|
|
|
|
# name :string(255) default(""), not null
|
|
|
|
# description :text(4294967295)
|
|
|
|
# homepage :string(255) default("")
|
|
|
|
# is_public :boolean default("1"), not null
|
|
|
|
# parent_id :integer
|
|
|
|
# created_on :datetime
|
|
|
|
# updated_on :datetime
|
|
|
|
# identifier :string(255)
|
|
|
|
# status :integer default("1"), not null
|
|
|
|
# lft :integer
|
|
|
|
# rgt :integer
|
|
|
|
# inherit_members :boolean default("0"), not null
|
|
|
|
# project_type :integer default("0")
|
|
|
|
# hidden_repo :boolean default("0"), not null
|
|
|
|
# attachmenttype :integer default("1")
|
|
|
|
# user_id :integer
|
|
|
|
# dts_test :integer default("0")
|
|
|
|
# enterprise_name :string(255)
|
|
|
|
# organization_id :integer
|
|
|
|
# project_new_type :integer
|
|
|
|
# gpid :integer
|
|
|
|
# forked_from_project_id :integer
|
|
|
|
# forked_count :integer default("0")
|
|
|
|
# publish_resource :integer default("0")
|
|
|
|
# visits :integer default("0")
|
|
|
|
# hot :integer default("0")
|
|
|
|
# invite_code :string(255)
|
|
|
|
# qrcode :string(255)
|
|
|
|
# qrcode_expiretime :integer default("0")
|
|
|
|
# script :text(65535)
|
|
|
|
# training_status :integer default("0")
|
|
|
|
# rep_identifier :string(255)
|
|
|
|
# project_category_id :integer
|
|
|
|
# project_language_id :integer
|
|
|
|
# license_id :integer
|
|
|
|
# ignore_id :integer
|
|
|
|
# praises_count :integer default("0")
|
|
|
|
# watchers_count :integer default("0")
|
|
|
|
# issues_count :integer default("0")
|
|
|
|
# pull_requests_count :integer default("0")
|
|
|
|
# language :string(255)
|
|
|
|
# versions_count :integer default("0")
|
|
|
|
# issue_tags_count :integer default("0")
|
|
|
|
# closed_issues_count :integer default("0")
|
|
|
|
# open_devops :boolean default("0")
|
|
|
|
# gitea_webhook_id :integer
|
|
|
|
# open_devops_count :integer default("0")
|
|
|
|
# recommend :boolean default("0")
|
|
|
|
# platform :integer default("0")
|
|
|
|
# default_branch :string(255) default("master")
|
|
|
|
# website :string(255)
|
|
|
|
# order_index :integer default("0")
|
|
|
|
# lesson_url :string(255)
|
|
|
|
#
|
|
|
|
# Indexes
|
|
|
|
#
|
|
|
|
# index_projects_on_forked_from_project_id (forked_from_project_id)
|
|
|
|
# index_projects_on_identifier (identifier)
|
|
|
|
# index_projects_on_invite_code (invite_code)
|
|
|
|
# index_projects_on_is_public (is_public)
|
|
|
|
# index_projects_on_lft (lft)
|
|
|
|
# index_projects_on_license_id (license_id)
|
|
|
|
# index_projects_on_name (name)
|
|
|
|
# index_projects_on_platform (platform)
|
|
|
|
# index_projects_on_project_category_id (project_category_id)
|
|
|
|
# index_projects_on_project_language_id (project_language_id)
|
|
|
|
# index_projects_on_project_type (project_type)
|
|
|
|
# index_projects_on_recommend (recommend)
|
|
|
|
# index_projects_on_rgt (rgt)
|
|
|
|
# index_projects_on_status (status)
|
|
|
|
# index_projects_on_updated_on (updated_on)
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -101,10 +101,12 @@ class Project < ApplicationRecord |
|
|
|
belongs_to :organization_extension, foreign_key: :user_id, primary_key: :organization_id, optional: true, counter_cache: :num_projects
|
|
|
|
belongs_to :project_category, optional: true , :counter_cache => true
|
|
|
|
belongs_to :project_language, optional: true , :counter_cache => true
|
|
|
|
belongs_to :forked_from_project, class_name: 'Project', optional: true, foreign_key: :forked_from_project_id
|
|
|
|
has_many :project_trends, dependent: :destroy
|
|
|
|
has_many :watchers, as: :watchable, dependent: :destroy
|
|
|
|
has_many :fork_users, dependent: :destroy
|
|
|
|
has_many :forked_users, class_name: 'ForkUser', foreign_key: :fork_project_id, dependent: :destroy
|
|
|
|
has_many :forked_projects, class_name: 'Project', foreign_key: :forked_from_project_id
|
|
|
|
has_one :project_educoder, dependent: :destroy
|
|
|
|
|
|
|
|
has_one :project_score, dependent: :destroy
|
|
|
|
|