1 # GNU MediaGoblin -- federated, autonomous media hosting
2 # Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU Affero General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU Affero General Public License for more details.
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
17 from sqlalchemy
import MetaData
, Table
19 from mediagoblin
.db
.sql
.util
import RegisterMigration
21 from mediagoblin
.plugins
.oauth
.models
import OAuthClient
, OAuthToken
, \
22 OAuthUserClient
, OAuthCode
27 @RegisterMigration(1, MIGRATIONS
)
28 def remove_and_replace_token_and_code(db
):
29 metadata
= MetaData(bind
=db
.bind
)
31 token_table
= Table('oauth__tokens', metadata
, autoload
=True,
32 autoload_with
=db
.bind
)
36 code_table
= Table('oauth__codes', metadata
, autoload
=True,
37 autoload_with
=db
.bind
)
41 OAuthClient
.__table
__.create(db
.bind
)
42 OAuthUserClient
.__table
__.create(db
.bind
)
43 OAuthToken
.__table
__.create(db
.bind
)
44 OAuthCode
.__table
__.create(db
.bind
)