Skip to content

fix: 2nd pass when pulling initial schema - #4357

Merged
sweatybridge merged 2 commits into
developfrom
2pass
Oct 24, 2025
Merged

fix: 2nd pass when pulling initial schema#4357
sweatybridge merged 2 commits into
developfrom
2pass

Conversation

@sweatybridge

@sweatybridgesweatybridge commented Oct 24, 2025

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Bug fix

What is the new behavior?

We have these default privileges for all new tables created in public schema.

alter default privileges in schema public grant all on tables to postgres, anon, authenticated, service_role;

As a user, I may want to create a new table but revoke grants to anon role. For eg. my migration could look like this

createtablepublic.test();
revoke all on table public.testfrom anon;

Now if I run the diff tool against an empty database, our inspection query finds a new table created with grants to authenticated and service_role only. So it generates the following sql

createtablepublic.test();
grant all on table public.test to authenticated;
grant all on table public.test to service_role;

This is actually inconsistent with my desired state because the table public.test will still be granted to anon role due to the default privilege.

Hence, we are doing a 2nd pass to properly capture the revoke statements.

Additional context

Add any other context or screenshots.

@sweatybridge
sweatybridge requested a review from a team as a code ownerOctober 24, 2025 09:00
@coveralls

coveralls commented Oct 24, 2025

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 18775145968

Details

  • 1 of 1(100.0%) changed or added relevant line in 1 file are covered.
  • 7 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.03%) to 54.703%

Files with Coverage ReductionNew Missed Lines%
internal/storage/rm/rm.go280.61%
internal/gen/keys/keys.go512.9%
TotalsCoverage Status
Change from base Build 18771499447:-0.03%
Covered Lines:6386
Relevant Lines:11674

💛 - Coveralls

Comment threadpkg/migration/scripts/dump_schema.sh
@sweatybridge
sweatybridge merged commit 6d83868 into developOct 24, 2025
27 of 28 checks passed
@sweatybridge
sweatybridge deleted the 2pass branch October 24, 2025 10:05
@github-actionsgithub-actionsBot mentioned this pull request Oct 28, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@sweatybridge@coveralls@avallete
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
fix: 2nd pass when pulling initial schema by sweatybridge · Pull Request #4357 · supabase/cli · GitHub
Skip to content

fix: 2nd pass when pulling initial schema - #4357

Merged
sweatybridge merged 2 commits into
developfrom
2pass
Oct 24, 2025
Merged

fix: 2nd pass when pulling initial schema#4357
sweatybridge merged 2 commits into
developfrom
2pass

Conversation

@sweatybridge

@sweatybridgesweatybridge commented Oct 24, 2025

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Bug fix

What is the new behavior?

We have these default privileges for all new tables created in public schema.

alter default privileges in schema public grant all on tables to postgres, anon, authenticated, service_role;

As a user, I may want to create a new table but revoke grants to anon role. For eg. my migration could look like this

createtablepublic.test();
revoke all on table public.testfrom anon;

Now if I run the diff tool against an empty database, our inspection query finds a new table created with grants to authenticated and service_role only. So it generates the following sql

createtablepublic.test();
grant all on table public.test to authenticated;
grant all on table public.test to service_role;

This is actually inconsistent with my desired state because the table public.test will still be granted to anon role due to the default privilege.

Hence, we are doing a 2nd pass to properly capture the revoke statements.

Additional context

Add any other context or screenshots.

@sweatybridge
sweatybridge requested a review from a team as a code ownerOctober 24, 2025 09:00
@coveralls

coveralls commented Oct 24, 2025

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 18775145968

Details

  • 1 of 1(100.0%) changed or added relevant line in 1 file are covered.
  • 7 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.03%) to 54.703%

Files with Coverage ReductionNew Missed Lines%
internal/storage/rm/rm.go280.61%
internal/gen/keys/keys.go512.9%
TotalsCoverage Status
Change from base Build 18771499447:-0.03%
Covered Lines:6386
Relevant Lines:11674

💛 - Coveralls

Comment threadpkg/migration/scripts/dump_schema.sh
@sweatybridge
sweatybridge merged commit 6d83868 into developOct 24, 2025
27 of 28 checks passed
@sweatybridge
sweatybridge deleted the 2pass branch October 24, 2025 10:05
@github-actionsgithub-actionsBot mentioned this pull request Oct 28, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@sweatybridge@coveralls@avallete
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix: 2nd pass when pulling initial schema by sweatybridge · Pull Request #4357 · supabase/cli · GitHub
Skip to content

fix: 2nd pass when pulling initial schema - #4357

Merged
sweatybridge merged 2 commits into
developfrom
2pass
Oct 24, 2025
Merged

fix: 2nd pass when pulling initial schema#4357
sweatybridge merged 2 commits into
developfrom
2pass

Conversation

@sweatybridge

@sweatybridgesweatybridge commented Oct 24, 2025

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Bug fix

What is the new behavior?

We have these default privileges for all new tables created in public schema.

alter default privileges in schema public grant all on tables to postgres, anon, authenticated, service_role;

As a user, I may want to create a new table but revoke grants to anon role. For eg. my migration could look like this

createtablepublic.test();
revoke all on table public.testfrom anon;

Now if I run the diff tool against an empty database, our inspection query finds a new table created with grants to authenticated and service_role only. So it generates the following sql

createtablepublic.test();
grant all on table public.test to authenticated;
grant all on table public.test to service_role;

This is actually inconsistent with my desired state because the table public.test will still be granted to anon role due to the default privilege.

Hence, we are doing a 2nd pass to properly capture the revoke statements.

Additional context

Add any other context or screenshots.

@sweatybridge
sweatybridge requested a review from a team as a code ownerOctober 24, 2025 09:00
@coveralls

coveralls commented Oct 24, 2025

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 18775145968

Details

  • 1 of 1(100.0%) changed or added relevant line in 1 file are covered.
  • 7 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.03%) to 54.703%

Files with Coverage ReductionNew Missed Lines%
internal/storage/rm/rm.go280.61%
internal/gen/keys/keys.go512.9%
TotalsCoverage Status
Change from base Build 18771499447:-0.03%
Covered Lines:6386
Relevant Lines:11674

💛 - Coveralls

Comment threadpkg/migration/scripts/dump_schema.sh
@sweatybridge
sweatybridge merged commit 6d83868 into developOct 24, 2025
27 of 28 checks passed
@sweatybridge
sweatybridge deleted the 2pass branch October 24, 2025 10:05
@github-actionsgithub-actionsBot mentioned this pull request Oct 28, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@sweatybridge@coveralls@avallete
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix: 2nd pass when pulling initial schema by sweatybridge · Pull Request #4357 · supabase/cli · GitHub
Skip to content

fix: 2nd pass when pulling initial schema - #4357

Merged
sweatybridge merged 2 commits into
developfrom
2pass
Oct 24, 2025
Merged

fix: 2nd pass when pulling initial schema#4357
sweatybridge merged 2 commits into
developfrom
2pass

Conversation

@sweatybridge

@sweatybridgesweatybridge commented Oct 24, 2025

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Bug fix

What is the new behavior?

We have these default privileges for all new tables created in public schema.

alter default privileges in schema public grant all on tables to postgres, anon, authenticated, service_role;

As a user, I may want to create a new table but revoke grants to anon role. For eg. my migration could look like this

createtablepublic.test();
revoke all on table public.testfrom anon;

Now if I run the diff tool against an empty database, our inspection query finds a new table created with grants to authenticated and service_role only. So it generates the following sql

createtablepublic.test();
grant all on table public.test to authenticated;
grant all on table public.test to service_role;

This is actually inconsistent with my desired state because the table public.test will still be granted to anon role due to the default privilege.

Hence, we are doing a 2nd pass to properly capture the revoke statements.

Additional context

Add any other context or screenshots.

@sweatybridge
sweatybridge requested a review from a team as a code ownerOctober 24, 2025 09:00
@coveralls

coveralls commented Oct 24, 2025

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 18775145968

Details

  • 1 of 1(100.0%) changed or added relevant line in 1 file are covered.
  • 7 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.03%) to 54.703%

Files with Coverage ReductionNew Missed Lines%
internal/storage/rm/rm.go280.61%
internal/gen/keys/keys.go512.9%
TotalsCoverage Status
Change from base Build 18771499447:-0.03%
Covered Lines:6386
Relevant Lines:11674

💛 - Coveralls

Comment threadpkg/migration/scripts/dump_schema.sh
@sweatybridge
sweatybridge merged commit 6d83868 into developOct 24, 2025
27 of 28 checks passed
@sweatybridge
sweatybridge deleted the 2pass branch October 24, 2025 10:05
@github-actionsgithub-actionsBot mentioned this pull request Oct 28, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@sweatybridge@coveralls@avallete
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' fix: 2nd pass when pulling initial schema by sweatybridge · Pull Request #4357 · supabase/cli · GitHub
Skip to content

fix: 2nd pass when pulling initial schema - #4357

Merged
sweatybridge merged 2 commits into
developfrom
2pass
Oct 24, 2025
Merged

fix: 2nd pass when pulling initial schema#4357
sweatybridge merged 2 commits into
developfrom
2pass

Conversation

@sweatybridge

@sweatybridgesweatybridge commented Oct 24, 2025

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Bug fix

What is the new behavior?

We have these default privileges for all new tables created in public schema.

alter default privileges in schema public grant all on tables to postgres, anon, authenticated, service_role;

As a user, I may want to create a new table but revoke grants to anon role. For eg. my migration could look like this

createtablepublic.test();
revoke all on table public.testfrom anon;

Now if I run the diff tool against an empty database, our inspection query finds a new table created with grants to authenticated and service_role only. So it generates the following sql

createtablepublic.test();
grant all on table public.test to authenticated;
grant all on table public.test to service_role;

This is actually inconsistent with my desired state because the table public.test will still be granted to anon role due to the default privilege.

Hence, we are doing a 2nd pass to properly capture the revoke statements.

Additional context

Add any other context or screenshots.

@sweatybridge
sweatybridge requested a review from a team as a code ownerOctober 24, 2025 09:00
@coveralls

coveralls commented Oct 24, 2025

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 18775145968

Details

  • 1 of 1(100.0%) changed or added relevant line in 1 file are covered.
  • 7 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.03%) to 54.703%

Files with Coverage ReductionNew Missed Lines%
internal/storage/rm/rm.go280.61%
internal/gen/keys/keys.go512.9%
TotalsCoverage Status
Change from base Build 18771499447:-0.03%
Covered Lines:6386
Relevant Lines:11674

💛 - Coveralls

Comment threadpkg/migration/scripts/dump_schema.sh
@sweatybridge
sweatybridge merged commit 6d83868 into developOct 24, 2025
27 of 28 checks passed
@sweatybridge
sweatybridge deleted the 2pass branch October 24, 2025 10:05
@github-actionsgithub-actionsBot mentioned this pull request Oct 28, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@sweatybridge@coveralls@avallete
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix: 2nd pass when pulling initial schema by sweatybridge · Pull Request #4357 · supabase/cli · GitHub
Skip to content

fix: 2nd pass when pulling initial schema - #4357

Merged
sweatybridge merged 2 commits into
developfrom
2pass
Oct 24, 2025
Merged

fix: 2nd pass when pulling initial schema#4357
sweatybridge merged 2 commits into
developfrom
2pass

Conversation

@sweatybridge

@sweatybridgesweatybridge commented Oct 24, 2025

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Bug fix

What is the new behavior?

We have these default privileges for all new tables created in public schema.

alter default privileges in schema public grant all on tables to postgres, anon, authenticated, service_role;

As a user, I may want to create a new table but revoke grants to anon role. For eg. my migration could look like this

createtablepublic.test();
revoke all on table public.testfrom anon;

Now if I run the diff tool against an empty database, our inspection query finds a new table created with grants to authenticated and service_role only. So it generates the following sql

createtablepublic.test();
grant all on table public.test to authenticated;
grant all on table public.test to service_role;

This is actually inconsistent with my desired state because the table public.test will still be granted to anon role due to the default privilege.

Hence, we are doing a 2nd pass to properly capture the revoke statements.

Additional context

Add any other context or screenshots.

@sweatybridge
sweatybridge requested a review from a team as a code ownerOctober 24, 2025 09:00
@coveralls

coveralls commented Oct 24, 2025

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 18775145968

Details

  • 1 of 1(100.0%) changed or added relevant line in 1 file are covered.
  • 7 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.03%) to 54.703%

Files with Coverage ReductionNew Missed Lines%
internal/storage/rm/rm.go280.61%
internal/gen/keys/keys.go512.9%
TotalsCoverage Status
Change from base Build 18771499447:-0.03%
Covered Lines:6386
Relevant Lines:11674

💛 - Coveralls

Comment threadpkg/migration/scripts/dump_schema.sh
@sweatybridge
sweatybridge merged commit 6d83868 into developOct 24, 2025
27 of 28 checks passed
@sweatybridge
sweatybridge deleted the 2pass branch October 24, 2025 10:05
@github-actionsgithub-actionsBot mentioned this pull request Oct 28, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@sweatybridge@coveralls@avallete
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix: 2nd pass when pulling initial schema by sweatybridge · Pull Request #4357 · supabase/cli · GitHub
Skip to content

fix: 2nd pass when pulling initial schema - #4357

Merged
sweatybridge merged 2 commits into
developfrom
2pass
Oct 24, 2025
Merged

fix: 2nd pass when pulling initial schema#4357
sweatybridge merged 2 commits into
developfrom
2pass

Conversation

@sweatybridge

@sweatybridgesweatybridge commented Oct 24, 2025

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Bug fix

What is the new behavior?

We have these default privileges for all new tables created in public schema.

alter default privileges in schema public grant all on tables to postgres, anon, authenticated, service_role;

As a user, I may want to create a new table but revoke grants to anon role. For eg. my migration could look like this

createtablepublic.test();
revoke all on table public.testfrom anon;

Now if I run the diff tool against an empty database, our inspection query finds a new table created with grants to authenticated and service_role only. So it generates the following sql

createtablepublic.test();
grant all on table public.test to authenticated;
grant all on table public.test to service_role;

This is actually inconsistent with my desired state because the table public.test will still be granted to anon role due to the default privilege.

Hence, we are doing a 2nd pass to properly capture the revoke statements.

Additional context

Add any other context or screenshots.

@sweatybridge
sweatybridge requested a review from a team as a code ownerOctober 24, 2025 09:00
@coveralls

coveralls commented Oct 24, 2025

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 18775145968

Details

  • 1 of 1(100.0%) changed or added relevant line in 1 file are covered.
  • 7 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.03%) to 54.703%

Files with Coverage ReductionNew Missed Lines%
internal/storage/rm/rm.go280.61%
internal/gen/keys/keys.go512.9%
TotalsCoverage Status
Change from base Build 18771499447:-0.03%
Covered Lines:6386
Relevant Lines:11674

💛 - Coveralls

Comment threadpkg/migration/scripts/dump_schema.sh
@sweatybridge
sweatybridge merged commit 6d83868 into developOct 24, 2025
27 of 28 checks passed
@sweatybridge
sweatybridge deleted the 2pass branch October 24, 2025 10:05
@github-actionsgithub-actionsBot mentioned this pull request Oct 28, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@sweatybridge@coveralls@avallete
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); fix: 2nd pass when pulling initial schema by sweatybridge · Pull Request #4357 · supabase/cli · GitHub
Skip to content

fix: 2nd pass when pulling initial schema - #4357

Merged
sweatybridge merged 2 commits into
developfrom
2pass
Oct 24, 2025
Merged

fix: 2nd pass when pulling initial schema#4357
sweatybridge merged 2 commits into
developfrom
2pass

Conversation

@sweatybridge

@sweatybridgesweatybridge commented Oct 24, 2025

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Bug fix

What is the new behavior?

We have these default privileges for all new tables created in public schema.

alter default privileges in schema public grant all on tables to postgres, anon, authenticated, service_role;

As a user, I may want to create a new table but revoke grants to anon role. For eg. my migration could look like this

createtablepublic.test();
revoke all on table public.testfrom anon;

Now if I run the diff tool against an empty database, our inspection query finds a new table created with grants to authenticated and service_role only. So it generates the following sql

createtablepublic.test();
grant all on table public.test to authenticated;
grant all on table public.test to service_role;

This is actually inconsistent with my desired state because the table public.test will still be granted to anon role due to the default privilege.

Hence, we are doing a 2nd pass to properly capture the revoke statements.

Additional context

Add any other context or screenshots.

@sweatybridge
sweatybridge requested a review from a team as a code ownerOctober 24, 2025 09:00
@coveralls

coveralls commented Oct 24, 2025

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 18775145968

Details

  • 1 of 1(100.0%) changed or added relevant line in 1 file are covered.
  • 7 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.03%) to 54.703%

Files with Coverage ReductionNew Missed Lines%
internal/storage/rm/rm.go280.61%
internal/gen/keys/keys.go512.9%
TotalsCoverage Status
Change from base Build 18771499447:-0.03%
Covered Lines:6386
Relevant Lines:11674

💛 - Coveralls

Comment threadpkg/migration/scripts/dump_schema.sh
@sweatybridge
sweatybridge merged commit 6d83868 into developOct 24, 2025
27 of 28 checks passed
@sweatybridge
sweatybridge deleted the 2pass branch October 24, 2025 10:05
@github-actionsgithub-actionsBot mentioned this pull request Oct 28, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@sweatybridge@coveralls@avallete